02. 远程仓库
建立协作
作为一名独立的开发者,你可能喜欢使用 本地 仓库。在此第一节课中,我们将了解 远程仓库 并与这些远程仓库进行交互。
假设你有一个朋友,我们称她为 Farrin,有一天你们聚到了一起,你向她展示了你近期的工作成果。她提出她可以向此项目添加一些功能。但你不想把 自己 的电脑给她,让她来进行这些更改,你希望她使用她自己的电脑。另外,你不想在她添加这些功能的时候只是 等待 ,而是继续开发项目,然后在她完成时将她的更改合并进来。我们如何做到这一点呢?
以我的经验,通过来来回回的邮件传达项目的更改,会把后期的维护很快变成一场噩梦。你已经在使用 Git 跟踪项目,那么我们就用它来管理一切事务吧。
所以,Farrin 会在一个特定的分支开发此项目,她会把所做的一些更改添加到该分支上。当她在她的分支上工作的同时,你也会在你自己的特定分支上继续开发此项目。最后,当你获得 Farrin 的分支时,便可以将这两个分支合并在一起。
## 💡 始终使用特性分支
记住,在具有描述性命名的 特性分支 上进行所有 commit 非常有用。分支有助于隔离不相关的更改。
所以,当你与其他开发者协作时,请确保创建一个新的分支,并使用描述性的名称说明它所包含的更改。
L1 - 远程仓库介绍
什么是远程仓库?
Git 是一个 分布式 版本控制系统,这意味着不存在 一个 主信息仓库。每位开发者使用的都是仓库的一个 副本 。因此,你可以拥有仓库的一个副本(它包含发布的 commit 和版本历史记录),并且你的朋友也可以拥有相同仓库的一个副本。每个仓库包含的信息与其他副本完全相同,没有哪一个是主要的。
在此之前,你可能一直使用的都只是 本地 仓库。而 远程 仓库与你的本地 Git 仓库一样,只是它位于其他地方。
本地仓库是位于你本地计算机上的仓库,而远程仓库位于其他地方(例如朋友的电脑、GitHub 等。)
访问远程仓库的方式
访问远程仓库的方式有多个:
- 使用 URL
- 使用系统文件的路径
虽然你也可以在自己的文件系统上创建远程仓库,但这种做法极少见。到目前为止,访问远程仓库的最常见方式是通过位于 Web 上的仓库的 URL。
我们与远程仓库交互和控制远程仓库的方式,是使用 Git 远程命令:
$ git remote
L1 - 向远处仓库推送分支
你并不限于使用一个远程仓库。你可以按需要添加尽可能多的远程仓库。
本地仓库可以连接到多个远程仓库。
为何需要多个远程仓库?
你为何要用多个远程仓库?我们稍后再谈这个,但简单来说,如果你跟多个开发者合作,那么你就需要在他们合并到 master 分支之前,在项目中获取 他们 在各自的分支上所做的更改。如果你想在决定实施自己的更改前,测试一下他们的更改,则需要这么做。
另一个例子是,如果你有一个项目,其代码托管在 Github 上,但是又通过 Git 部署到 Heroku 平台上。你需要一个远端
master
用于管理 Github 上的代码,另一个远端
depolyment
用于代码部署。
添加远程仓库
现在我们已经了解了远程仓库的用途,我们来将一个远程仓库添加到我们自己的本地仓库。